package generic.method;

import utils.Log;

/***
 * 泛型方法使得该方法能够独立于类而产生变化。
 * 基本指导原则：无论何时，只要你能做到，你就应该尽量使用泛型方法。
 * 也就是说，如果使用泛型方法可以取代将整个类泛型化，那么就应该只使用泛型方法
 */
public class GenericMethods {

    public <T> void f(T x) {
        Log.vn(x.getClass().getName());
    }

    public static void main(String[] args) {
        GenericMethods gm = new GenericMethods();
        gm.f("");
        gm.f(1);
        gm.f(1L);
        gm.f(1.0);
        gm.f(1.0F);
        gm.f('c');
        gm.f(gm);
    }
}
